package cn.fl.capital.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.capital.dto.CapOverdueInfoDTO;
import cn.fl.capital.vo.CapOverdueInfoVO;

 /**
 * @Description: 逾期信息表 转换器
 * VO是客户端传递数据到服务端进行转换的数据 
 * VO转换数据变成DTO传递到服务端 
 * VO不能在服务端出现
 */
public class CapOverdueInfoVOTransform {


	/**
	 * DTO 转  VO
	 * @param dto CapOverdueInfoDTO
	 * @return CapOverdueInfoVO
	 */
	public static CapOverdueInfoVO toVO(CapOverdueInfoDTO dto) {
		CapOverdueInfoVO  vo = null;
		if (dto != null) { 
			vo = new CapOverdueInfoVO();
			vo.setId(dto.getId());
			vo.setCstId(dto.getCstId());//客户ID
			vo.setPaySchId(dto.getPaySchId());//费用ID
			vo.setPayPd(dto.getPayPd());//期次
			vo.setOverdueDate(dto.getOverdueDate());//逾期日期
			vo.setOverdueDay(dto.getOverdueDay());//逾期天数
			vo.setOverdueAmount(dto.getOverdueAmount());//逾期金额
			vo.setOverdueRate(dto.getOverdueRate());//逾期率
			vo.setPayAmount(dto.getPayAmount());//已支付金额
			vo.setPenaltyAmount(dto.getPenaltyAmount());//罚息金额
			vo.setDataStatusCd(dto.getDataStatusCd());//数据状态-数据字典：0-最新 1-过期
			vo.setOverdueStatusCd(dto.getOverdueStatusCd());//逾期状态-数据字典：0-未支付 1-部分支付 2-全部支付
			vo.setRemark(dto.getRemark());//罚息描述
			vo.setCreateTime(dto.getCreateTime());//创建时间
			vo.setContIds(dto.getContIds());
			vo.setPayIds(dto.getPayIds());
			vo.setFeeAmt(dto.getFeeAmt());
			vo.setRecAmt(dto.getRecAmt());//应收金额
			vo.setPaySchNo(dto.getPaySchNo());
			vo.setCstNm(dto.getCstNm());
			vo.setPayDt(dto.getPayDt());
			vo.setCreateDate(dto.getCreateDate());
			vo.setActualAmount(dto.getActualAmount());
			vo.setTotalAmount(dto.getTotalAmount());
            vo.setReduAmount(dto.getReduAmount());
			vo.setBuOrgCd(dto.getBuOrgCd());
			vo.setTotalPayPd(dto.getTotalPayPd());

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人

			vo.setPrjId(dto.getPrjId()); //项目ID
			vo.setPrjPrdDtlId(dto.getPrjPrdDtlId());// 项目产品明细ID
			vo.setPrjPrdId(dto.getPrjPrdId()); // 项目产品ID
			vo.setIsSqBiz(dto.getIsSqBiz());
			vo.setIsShow(dto.getIsShow());
			vo.setShowOvdDt(dto.getShowOvdDt());
			vo.setShowOvdDay(dto.getShowOvdDay());
			vo.setSueStsCd(dto.getSueStsCd());
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param vo CapOverdueInfoVO
	 * @return CapOverdueInfoDTO
	 */
	public static CapOverdueInfoDTO toDTO(CapOverdueInfoVO vo) {
		CapOverdueInfoDTO dto = null;
		if (vo != null) {
			dto = new CapOverdueInfoDTO();
			dto.setId(vo.getId());
			dto.setCstId(vo.getCstId());//客户ID
			dto.setPaySchId(vo.getPaySchId());//费用ID
			dto.setPayPd(vo.getPayPd());//期次
			dto.setOverdueDate(vo.getOverdueDate());//逾期日期
			dto.setOverdueDay(vo.getOverdueDay());//逾期天数
			dto.setOverdueAmount(vo.getOverdueAmount());//逾期金额
			dto.setOverdueRate(vo.getOverdueRate());//逾期率
			dto.setPayAmount(vo.getPayAmount());//已支付金额
			dto.setPenaltyAmount(vo.getPenaltyAmount());//罚息金额
			dto.setDataStatusCd(vo.getDataStatusCd());//数据状态-数据字典：0-最新 1-过期
			dto.setOverdueStatusCd(vo.getOverdueStatusCd());//逾期状态-数据字典：0-未支付 1-部分支付 2-全部支付
			dto.setRemark(vo.getRemark());//罚息描述
			dto.setCreateTime(vo.getCreateTime());//创建时间
			dto.setCreateDate(vo.getCreateDate());//罚息日期
			dto.setActualAmount(vo.getActualAmount());//实收金额
			dto.setTotalAmount(vo.getTotalAmount());//累计实收金额
            dto.setReduAmount(vo.getReduAmount());//减免金额
			dto.setTotalPayPd(vo.getTotalPayPd());

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人

			dto.setPrjId(vo.getPrjId()); //项目ID
			dto.setPrjPrdDtlId(vo.getPrjPrdDtlId());// 项目产品明细ID
			dto.setPrjPrdId(vo.getPrjPrdId()); // 项目产品ID
			dto.setIsSqBiz(vo.getIsSqBiz());
			dto.setIsShow(vo.getIsShow());
			dto.setShowOvdDt(vo.getShowOvdDt());
			dto.setShowOvdDay(vo.getShowOvdDay());
			dto.setSueStsCd(vo.getSueStsCd());

		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param list List<CapOverdueInfo>
	 * @return List<CapOverdueInfoDTO>
	 */
	public static List<CapOverdueInfoVO> toVOList(List<CapOverdueInfoDTO> list) {
		List<CapOverdueInfoVO>  voList = new ArrayList<CapOverdueInfoVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (CapOverdueInfoDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
}
